package visu;

/**
 * Définit ce que une entité dirigeable doit implémenter. Toute entité
 * dirigeable est forcemment positionnable car elle se dirige en fonction d'une
 * position.
 * 
 * @author COLLET Philippe
 * @author gnpt
 */
public interface Dirigeable extends Positionnable {
	/**
	 * Accesseur pour la vitesse courante : la vitesse est >= 0.
	 * 
	 * @return la vitesse courante.
	 */
	public float getVitesseCourante();

	/**
	 * Mutateur pour la vitesse courante.
	 * 
	 * @param vitesseCourante
	 *            la nouvelle vitesse courante (>= 0).
	 */
	public void setVitesseCourante(float vitesseCourante);

	/**
	 * Accesseur pour la direction courante en radians [0,2PI[.
	 * 
	 * @return la direction courante.
	 */
	public float getDirectionCourante();

	/**
	 * Mutateur pour la direction courante en radians [0,2PI[.
	 * 
	 * @param directionCourante
	 *            la nouvelle direction courante en radians [0,2PI[.
	 */
	public void setDirectionCourante(float directionCourante);
}
